package com.gzx.plugin.tjzy.modular.repaymentQuery.entity.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fhs.core.trans.anno.Trans;
import com.fhs.core.trans.constant.TransType;
import com.fhs.core.trans.vo.TransPojo;
import com.gzx.plugin.tjzy.modular.repaymentQuery.entity.DataWxjkHksj;
import io.github.linpeilie.annotations.AutoMapper;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;

@Data
@ExcelIgnoreUnannotated
@AutoMapper(target = DataWxjkHksj.class)
public class DataWxjkHksjVo implements Serializable , TransPojo {
    /** 主键自增id */
    @TableId
    @Schema(description = "主键自增id")
    private Long id;

    /** 业务号 */
    @Schema(description = "业务号")
    @ExcelProperty(value = "业务号", index = 0)
    private String businessId;

    /** 入账时间 */
    @ExcelProperty(value = "入账时间", index = 1 )
    @Schema(description = "入账时间")
    private Date accountDate;

    /** 已还金额 */
    @Schema(description = "已还金额")
    @ExcelProperty(value = "已还金额", index = 2)
    private Float realAmount;

    /** 逾期金额 */
    @Schema(description = "逾期金额")
    @ExcelProperty(value = "逾期金额", index = 3)
    private Float overdueAmount;

    /** 是否减免金额 */
    @Schema(description = "是否减免金额")
    @ExcelProperty(value = "是否减免金额", index = 4)
    private Integer activeRepayment;

    /** 创建时间 */
    @Schema(description = "创建时间")
    @TableField(fill = FieldFill.INSERT)
    private Date createTime;

    /** 修改时间 */
    @Schema(description = "修改时间")
    @TableField(fill = FieldFill.UPDATE)
    private Date updateTime;

    /** TENANT_ID */
    @Schema(description = "TENANT_ID")
    private String tenantId;

    /** CREATE_DEPT */
    @Schema(description = "CREATE_DEPT")
    private Long createDept;

    /** CREATE_BY */
    @Schema(description = "CREATE_BY")
    private Long createBy;

    /** UPDATE_BY */
    @Schema(description = "UPDATE_BY")
    private Long updateBy;

    /**
     * 所属坐席
     */
    @ExcelProperty(value = "所属坐席", index = 5)
    private String seatName;

    @Trans(type = TransType.RPC, targetClassName = "vip.xiaonuo.sys.modular.org.entity.SysOrg", fields = "name", alias = "affiliatedCompany", ref = "deptName", serviceName = "snowy-web-app")
    private Long affiliatedCompany;

    /**
     * 所属部门
     */
    @ExcelProperty(value = "所属部门", index = 6)
    private String deptName;
}
